package com.ygsoft.tianlu_mall.service;

import com.ygsoft.tianlu_mall.pojo.Goods;
import com.ygsoft.tianlu_mall.pojo.vo.req.AddGoodsReqVO;
import com.ygsoft.tianlu_mall.pojo.vo.req.AddPropertyValueItemReqVO;
import com.ygsoft.tianlu_mall.pojo.vo.req.UpdateGoodsReqVO;
import com.ygsoft.tianlu_mall.pojo.vo.req.UpdatePropertyValueItemReqVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface ShopService {

    //添加商品到店铺
    void addGoods(AddGoodsReqVO vo);
        //商品信息
        void addGoodsInfo(Goods goods);
        int getNewGoodId();//获得当前goods_id
        void setGoodPropertyValue(int newGoodId, List<AddPropertyValueItemReqVO> listValue);//添加商品属性

        //新增商品文件到阿里云
        String getFolderName(int type_id);
        String getShopName(int shop_id);
        String getGoodsName(int goods_id);
        void saveGoodsTitleUrl(int goods_id, String titleUrl);
        void saveGoodsContentUrl(int goods_id, String contentUrl);
        void saveGoodsFileUrl(int goods_id, String fileUrl);


    //上下架
    //检查商品是否被添加
    Boolean checkGoodsOnDB(int goods_id);
    //检查商品的状态
    int checkGoodsStatus(int goods_id);
    //上架商品
    void goodsUpshelf(int goods_id);
    //下架商品
    void goodsDownshelf(int goods_id);


    //更新商品信息


    HashMap<String, Object> getUpdateGoodsInfo(int goods_id);
    void updateGoods(UpdateGoodsReqVO vo);
    void updateGoodsInfo(HashMap<String, Object> map);
    void updateGoodsPropertyValue(int goods_id, List<UpdatePropertyValueItemReqVO> listValue);
    int getTypeId(int goods_id);
    int getShopId(int goods_id);
    void updateGoodsTitleUrl(int goods_id, String titleUrl);
    void updateGoodsContentUrl(int goods_id, String contentUrl);
    void updateGoodsFileUrl(int goods_id, String fileUrl);

/*    void updateGoodsPicAndFile(MultipartFile title, MultipartFile content, MultipartFile file, int goods_id);*/


    //店铺商品信息展示
    List<Map<String,Object>> getGoodsByShopId(int shop_id);
    List<Map<String, Object>> getGoodsByShopIdAndTypeId(int shop_id, int type_id);


    List getGoodsIdByShopId(int shop_id);

    List getGoodsIdByShopIdAndTypeId(int shop_id, int type_id);

    double getService(int shop_id);

    double getDescription(int shop_id);
}
